Röda dagar

Röda dagar i kalender

Januari

  1. Nyårsdagen
  2. Trettondedag jul

Februari

Mars

April

  1. Långfredag
  2. Påskdagen
  3. Annandag påsk

Maj

  1. Valborg - Första maj
  2. Kristi himmelsfärdsdag

Juni

  1. Sveriges nationaldag
  2. Pingstdagen?
  3. Midsommardagen

Juli

Augusti

September

Oktober

November

  1. Alla helgons dag

December

  1. Juldagen
  2. Annandag jul

Färger

Liknande

Motsats

  • Vardagar

Tjänster

Flaggor

Kuriosa

Omslaget till filmen Ivanhoe Nyårsafton i Bangladesh

Funktion för Pascal

//fpc 3.0.4 //program HelloWorld; Uses sysutils; var year, A,B,C,D,E,F,G,H,I,J,K,L,M,N: Integer; paskdagen, midsomdag, allahelgo: TDateTime; Begin ShortDateFormat := 'yyyy-mm-dd'; year := 2020; A := year MOD 19; B := Trunc(year/100); C := year MOD 100; D := Trunc(B/4); E := B MOD 4; F := Trunc((B+8)/25); G := Trunc((B-F+1)/3); H := (19*A+B-D-G+15) MOD 30; I := Trunc(C/4); J := C MOD 4; K := (32+2*E+2*I-H-J) MOD 7; L := Trunc((A+11*H+22*K)/451); M := Trunc((H+K-7*L+114)/31); N := (H+K-7*L+114) MOD 31; paskdagen := StrToDate(IntToStr(year) + '-0' + IntToStr(M) + '-0' + IntToStr(Trunc(N+1))); midsomdag := StrToDate(IntToStr(year) + '-06-20'); allahelgo := StrToDate(IntToStr(year) + '-10-31'); If DayOfWeek(midsomdag) <> 7 Then Repeat midsomdag := midsomdag + 1; Until DayOfWeek(midsomdag) = 7; If DayOfWeek(allahelgo) <> 7 Then Repeat allahelgo := allahelgo + 1; Until DayOfWeek(allahelgo) = 7; writeln(IntToStr(year) +'-01-01'); // Nyårsdagen writeln(IntToStr(year) +'-01-06'); // Trettondagen writeln(DateToStr(paskdagen - 2)); // Långfredag writeln(DateToStr(paskdagen)); // Påskdagen writeln(DateToStr(paskdagen + 1)); // Annandag påsk writeln(IntToStr(year) + '-05-01'); // Första maj writeln(DateToStr(paskdagen + 39)); // Kristi himmelfärdsdag writeln(DateToStr(paskdagen + 49)); // Pingstdagen writeln(DateToStr(paskdagen + 50)); // Annandag pingst writeln(IntToStr(year) + '-06-06'); // Sveriges nationaldag writeln(DateToStr(midsomdag - 1)); // Midsommarafton writeln(DateToStr(midsomdag)); // Midsommardagen writeln(DateToStr(allahelgo)); // Alla helgons dag writeln(IntToStr(year) + '-12-24'); // Julafton writeln(IntToStr(year) + '-12-25'); // Juldagen writeln(IntToStr(year) + '-12-26'); // Annandag jul End.

Funktion för PHP

<?php function red_days($year) { $A = $year % 19; $B = round($year/100); $C = $year % 100; $D = round($B/4); $E = $B % 4; $F = round(($B+8)/25); $G = round(($B-$F+1)/3); $H = (19*$A+$B-$D-$G+15) % 30; $I = round($C/4); $J = $C % 4; $K = (32+2*$E+2*$I-$H-$J) % 7; $L = round(($A+11*$H+22*$K)/451); $M = round(($H+$K-7*$L+114)/31); $N = ($H+$K-7*$L+114) % 31; $paskdagen = $year . '-' . date('m', $M) . '-' . date('d', round($N+1)); $midsomdag = strtotime($year . '-06-20'); $allahelgo = strtotime($year . '-10-31'); if (date('N', $midsomdag) < 7) { while (date('N', $midsomdag) < 7) { $midsomdag++; } } if (date('N', $allahelgo) < 7) { while (date('N', $allahelgo) < 7) { $allahelgo++; } } $red['Nyårsdagen'] = $year . '-01-01'; $red['Trettondagen'] = $year . '-01-06'; $red['Långfredag'] = date('Y-m-d', strtotime($paskdagen . ' - 2 days')); $red['Påskdagen'] = $paskdagen; $red['Annandag påsk'] = date('Y-m-d', strtotime($paskdagen . ' + 1 day')); $red['Första maj'] = $year . '-05-01'; $red['Kristi himmelfärdsdag'] = date('Y-m-d', strtotime($paskdagen . ' + 39 days')); $red['Pingstdagen'] = date('Y-m-d', strtotime($paskdagen . ' + 49 days')); $red['Annandag pingst'] = date('Y-m-d', strtotime($paskdagen . '+ 50 days')); $red['Sveriges nationaldag'] = $year . '-06-06'; $red['Midsommarafton'] = date('Y-m-d', strtotime(date('Y-m-d', $midsomdag) . ' - 1 day')); $red['Midsommardagen'] = date('Y-m-d', $midsomdag); $red['Alla helgons dag'] = date('Y-m-d', $allahelgo); $red['Julafton'] = $year . '-12-24'; $red['Juldagen'] = $year . '-12-25'; $red['Annandag jul'] = $year . '-12-26'; return $red; } echo '
' . print_r(red_days(2020), 1) . '
';

Funktion för Javascript

function red_days(year) { A = year % 19; B = Math.round(year/100); C = year % 100; D = Math.round(B/4); E = B % 4; F = Math.round((B+8)/25); G = Math.round((B-F+1)/3); H = (19*A+B-D-G+15) % 30; I = Math.round(C/4); J = C % 4; K = (32+2*E+2*I-H-J) % 7; L = Math.round((A+11*H+22*K)/451); M = Math.round((H+K-7*L+114)/31); N = (H+K-7*L+114) % 31; paskdagen = year + '-' + ('0'+M).slice(-2) + '-' + ('0'+(N+1)).slice(-2); midsomdag = new Date(year + '-06-20'); allahelgo = new Date(year + '-10-31'); if (new Date(midsomdag).getDay() < 7) { /*while (new Date(midsomdag).getDay() < 7) { midsomdag++; }*/ } if (new Date(allahelgo).getDay() < 7) { /*while (new Date(allahelgo).getDay() < 7) { allahelgo++; }*/ } red = {}; red['Nyårsdagen'] = year + '-01-01'; red['Trettondagen'] = year + '-01-06'; red['Långfredag'] = new Date(new Date(paskdagen).valueOf()-(3600*24*2)).toISOString(); red['Påskdagen'] = paskdagen; red['Annandag påsk'] = new Date(new Date(paskdagen).valueOf()+(3600*24*1)).toISOString(); red['Första maj'] = year + '-05-01'; red['Kristi himmelfärdsdag'] = new Date(new Date(paskdagen).valueOf()+(3600*24*39)).toISOString(); red['Pingstdagen'] = new Date(new Date(paskdagen).valueOf()+(3600*24*49)).toISOString(); red['Annandag pingst'] = new Date(new Date(paskdagen).valueOf()+(3600*24*50)).toISOString(); red['Sveriges nationaldag'] = year + '-06-06'; red['Midsommarafton'] = new Date(new Date(midsomdag).valueOf()-(3600*24*1)).toISOString(); red['Midsommardagen'] = new Date(midsomdag).toISOString(); red['Alla helgons dag'] = new Date(allahelgo).toISOString(); red['Julafton'] = year + '-12-24'; red['Juldagen'] = year + '-12-25'; red['Annandag jul'] = year + '-12-26'; return red; } console.log(JSON.stringify(reddays(2020)));